// 异或的使用
// 1. x ^ x = 0
// 2. x ^ 0 = x
// 3. a ^ b ^ a = a ^ a ^ b = b
#include <iostream>
#include <vector>
using namespace std;

int singleNumber(vector<int>& nums) {
        int ret = 0;
        int n = nums.size();
        for(int i = 0;i < n;i++)
        {
            ret ^= nums[i];
        }
        return ret;
    }

int main()
{
     vector<int> nums = {4,1,2,1,2};
    int ret = singleNumber(nums);
    cout << ret << endl;
    return 0;
}